package com.rjyb.student_management_platform.service;

import com.rjyb.student_management_platform.pojo.*;
import com.rjyb.student_management_platform.pojo.Class;
import org.apache.ibatis.annotations.Param;
import org.springframework.ui.Model;

import javax.servlet.http.HttpSession;
import java.util.List;
import java.util.Map;

public interface TeacherService {
    //查询班级
    List<Map> selclass(int id);

    //查询学生
    List<Student> selestudent(int cid,int tid);
    //老师注册
    boolean addTeacher(Teacher teacher);
    Teacher ifTeacher(String name,String jobNumber);


    //老师查本人发布过的作业
    List<Map> selejob(Teacher teacher, int cid);
//条件查询作业
    int seleclassjob(int cid);

    int seleclassjob1(int jid);

    int seleclassjob2(int jid);

    int seleclassjob3(int jid);



    //根据jid查询班级
    List<AnswerSheet> selectclass(int jid);

    //反查未交作业学生
    List<Student> selectclass1(List list, int cid);


    //查询班级
    List<Class> selectClass(HttpSession session, Model model);

    //查询学生
    String selectStu(Class c, Model model, HttpSession session);
    //添加考勤
    String attendanceAdd(Long[] sid, Long cid, Long classSection, Long[] atRate, HttpSession session, Model model);



    //去查看考勤
    List<Class> toCheckattendance(HttpSession session);


    //查询考勤
    List<Map> selectattendance(long cid, String time, long class_section,Map map,HttpSession session);


    //查询老师name
    List<Map> tname(long cid, String time, long class_section, Map map, HttpSession session);

    //修改考勤
    String attendanceModify(Long class_section, Long sid, String atDate, Long cid, Long atRate);

    //主页本班作业
    Integer selectAttendance(long tid, String s);

    //主页本周查询考勤
    List<Map> selectCompletionRate(long tid);

    //主页查看本天课程考勤
    Integer selectAttendanceForTheDay(long tid, String at, long cs);


    //查询已完成作业类型
    List<Map> selectjob1(int jid, int cid);


    //查询已完成作业学生
    List<Map> selectjob2(int jid, int cid);

    //班导查看本周考勤
    Integer selectClassGuideAttendance( long tid, String s);

    //班导查询作业完成率 查看班级
    List<Map> selectClassGuideCompletionRate(long tid);

    //班导查看本天课程考勤
    Integer selectClassGuideAttendanceForTheDay( long tid, String at, long cs);

    //班导查询本班本周已到人数
    Integer selectAttendanceHasArrived(long tid,String adDate,int class_section);

    //班导查询本班人数
    Integer selectPeople(long tid,String atDate);
}
